﻿// 排序游戏 SORTGAME.cpp : 此文件包含 "main" 函数。程序执行将在此处开始并结束。
//

#include <iostream>

/*
https://algospot.com/judge/problem/read/SORTGAME

问题：
给定一个没有重复元素的整数序列。我们可以选择该序列的任意子区间并将其反转。我们希望通过这种反转操作对整个序列进行排序。然而，同一个序列可能有多种不同的排序方式。例如，对于序列3 4 1 2，我们可以分别反转3 4和1 2得到4 3 2 1，然后再对整个序列进行反转得到1 2 3 4，也可以先反转4 1 2，然后再反转3 2 1，以此达到排序的目的。

编写一个程序来计算进行最少几次反转操作才能完成排序。

输入：
输入的第一行是测试用例的数量C（C <= 1000）。
每个测试用例的第一行是序列的长度N（1 <= N <= 8）。
接下来的一行包含N个整数，表示序列的元素。假设序列中不会出现重复元素。所有的元素都是介于1到1百万之间的整数。

输出：
对每个测试用例，输出进行排序所需的最少反转操作次数。

示例输入：
3
8
1 2 3 4 8 7 6 5
4
3 4 1 2
3
1 2 3

示例输出：
1
2
0
*/
int main()
{
    std::cout << "Hello World!\n";
}

